package com.xiaoshuidi.cloud.module.member.controller.admin.securitycheck.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import javax.validation.constraints.*;

/**
* 安全检查 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class SecurityCheckBaseVO {

    @Schema(description = "安全检查项目ID", required = true)
    @NotNull(message = "安全检查项目ID不能为空")
    private Long securityCheckProgramId;

    @Schema(description = "检察员", required = true)
    @NotNull(message = "检察员不能为空")
    private String inspectorate;

    @Schema(description = "检查类型", required = true)
    @NotNull(message = "检查类型不能为空")
    private Byte securityCheckType;

    @Schema(description = "隐患等级", required = true)
    @NotNull(message = "隐患等级不能为空")
    private Byte pitfallLevel;

    @Schema(description = "检查时间", required = true)
    @NotNull(message = "检查时间不能为空")
    private LocalDate checkDate;

    @Schema(description = "是否需要整改", required = true)
    @NotNull(message = "是否需要整改不能为空")
    private Boolean isNeedRectification;

    @Schema(description = "现场检查照片")
    private String checkPhoto;

    @Schema(description = "整治责任人", required = true)
    @NotNull(message = "整治责任人不能为空")
    private Long wilfulness;

    @Schema(description = "整治期限", required = true)
    @NotNull(message = "整治期限不能为空")
    private LocalDate timeframe;
}
